Premium medical diagnostic ultrasound imaging systems require a comprehensive set of imaging modes. These are the major imaging modes used in clinical diagnosis and include color flow Doppler and B mode. In the B mode, such ultrasound imaging systems create two-dimensional images of tissue in which the brightness of a pixel is based on the intensity of the echo return. Alternatively, in a color flow imaging mode, the movement of fluid (e.g., blood) or tissue can be imaged. Measurement of blood flow in the heart and vessels using the Doppler effect is well known. The phase shift of backscattered ultrasound waves may be used to measure the velocity of the backscatterers from tissue or blood. The Doppler shift may be displayed using different colors to represent speed and direction of flow.
In B-mode and color flow ultrasound imaging it is often desired to low-pass filter the incoming data in two dimensions in order to smooth the final image. It is known to use a spatial filter, which is normally implemented by "sliding" a filter "kernel" across incoming data in two dimensions. The data which corresponds to the filter kernel's position is the data "window". The center value of the data window is "under consideration". The kernel is made up of a matrix of filter coefficients. At each position, the point-by-point product of the data window and the filter coefficients is summed to give a new value, which replaces the value under consideration. In some cases it might be desired to "pass through" the data, i.e., leave it unaltered.
A problem with using a spatial filter to low-pass filter the acoustic data is that the low-level noise is smoothed as well. As a result isolated noise samples are smeared in two dimensions, leaving unattractive "blobs" on the screen. This problem can be alleviated by using an adaptive spatial filter, i.e., one whose coefficients are determined by changes in the incoming data. One known adaptive spatial filter controls the amount of smoothing as a function of the amplitude of the acoustic data. A drawback of this filter is that the data surrounding the filtered value, in particular the number of non-zero neighbors each sample has, are ignored.